﻿// Variables asociadas a los formularios
var login_usuario 			= localStorage['login_usuario'];
var modo_usuario 			= localStorage['modo_usuario'];
var hay_conexion 			= localStorage['hay_conexion'];

var id_opcion				= null;
var id_senal 				= null;
var coord_x 				= null;
var coord_y 				= null;
var id_tipo_sen 			= null;
var id_categ_sen 			= null;
var id_senal_tra 			= null;
var id_tipo_sop 			= null;
var h_desc_image_sen 		= null;
var id_estad_sen 			= null;
var id_status_sen 			= null;
var fecha_instalacion 		= null;
var estandar 				= null;
var id_estado 				= null;
var id_municipio 			= null;
var id_parroquia 			= null;
var id_sector 				= null;
var id_tipo_via 			= null;
var referencia 				= null;
var observaciones_sen		= null;

var id_tipo_pos 			= null;
var nro_postes 				= null;
var nro_caras 				= null;
var nro_contadores 			= null;
var id_estad_con 			= null;
var id_model_con 			= null;
var nro_fases 				= null;
var ciclo 					= null;


// onDeviceReady - Phonegap inicializacion
function onDeviceReady() 
{
	validar_conexion_internet();
}


// pagebeforecreate
$( '#registrarSenal' ).live( 'pagebeforecreate',function(event){
  	
});


// pagecreate
$( '#registrarSenal' ).live( 'pagecreate',function(event){
	
	$("#div_sopor_sen").hide();
	$("#div_datos_sem").hide();
	
	// Carga de Combos por Servicios
	// Combo Tipo Señal
	consultarComboTipoSen();
	
	// Combo Tipo de Soporte
	consultarComboTipoSop();
	
	// Combo Estado Señal
	consultarComboEstadSen();
	
	// Combo Tipo de Poste de un Semáforo
	consultarComboTipoPos();
	
	// Combo Estado de un Contador
	consultarComboEstadCon();
	
	// Combo Modelo de un Controlador
	consultarComboModelCon();
	
	// Combo Parroquia
	if ( localStorage['hay_conexion'] == "true" )
	{
		combo_dependiente(url_servicio_global, 'combo_parroquia', 'id_parroquia', 'id_parroquia', 'parroquia', 'Parroquia', codigo_municipio_base);
	}
	else
	{
		if ( xml_parroquia_sector )
		{
			consultarComboParroquia( codigo_municipio_base );
		}
	}
	
	// Combo Tipo Vía
	consultarComboTipoVia();
	
	// Setear valores de Estado y Municipio por Defecto
	setear_estado_municipio();
	
	// Seteamos los Valores correspondientes a la Alcaldia
	cargar_encabezado();
	cargar_pie_pagina();
	
	
	// OnClick
	$('#atras, #atras2').click(function()
	{
		location.href="SubMenuSenal.html";
	});
	
	$('#inicio').click(function()
	{
		location.href="MenuPrincipal.html";
	});
	
	
	$('#obtener_coordenadas').click(function()
	{
		obtener_coordenadas();
	});
	
	
	$('#registrar').click(function()
	{
		var validacion = registrar_senal();
		if ( validacion ) {
			
			/*
			// Validamos la Conexión con el Servidor
			var conexion = checkConnection();
			
			// Si Hay Conexión con el Servidor -> Llamamos al Servicio
			if ( conexion ) {
			*/	
			
			// Si Hay Conexión con el Servidor -> Llamamos al Servicio
			if ( localStorage['hay_conexion'] == "true" )
			{
			
				// Llamamos al Servicio
				var ajaxManager = $.manageAjax.create('cola_ajax',{manageType: 'queue', maxReq: 0, blockSameRequest:true});
				
				ajaxManager.add({
					type: "POST",
					url:  url_servicio_senal,
					data: "servicio=insertar_senal"+"&"+
						  "id_municipio_base="+id_municipio_base+"&"+
						  "id_opcion="+id_opcion+"&"+
						  "coord_x="+coord_x+"&"+
						  "coord_y="+coord_y+"&"+
						  "id_tipo_sen="+id_tipo_sen+"&"+
						  "id_categ_sen="+id_categ_sen+"&"+
						  "id_senal_tra="+id_senal_tra+"&"+
						  "id_tipo_sop="+id_tipo_sop+"&"+
						  "desc_image_sen="+h_desc_image_sen+"&"+
						  "id_estad_sen="+id_estad_sen+"&"+
						  "id_status_sen="+id_status_sen+"&"+
						  "fecha_instalacion="+fecha_instalacion+"&"+
						  "estandar="+estandar+"&"+
						  "id_tipo_pos="+id_tipo_pos+"&"+
						  "nro_postes="+nro_postes+"&"+
						  "nro_caras="+nro_caras+"&"+
						  "nro_contadores="+nro_contadores+"&"+
						  "id_estad_con="+id_estad_con+"&"+
						  "id_model_con="+id_model_con+"&"+
						  "nro_fases="+nro_fases+"&"+
						  "ciclo="+ciclo+"&"+
						  "id_estado="+id_estado+"&"+
						  "id_municipio="+id_municipio+"&"+
						  "id_parroquia="+id_parroquia+"&"+
						  "id_sector="+id_sector+"&"+
						  "id_tipo_via="+id_tipo_via+"&"+
						  "referencia="+referencia+"&"+
						  "observaciones="+observaciones_sen+"&"+
						  "coord_x_centro="+coord_x+"&"+
						  "coord_y_centro="+coord_y+"&"+
						  "zoom_centro="+12+"&"+
						  "device_uuid="+device.uuid+"&"+
						  "device_platform="+device.platform+"&"+
						  "login_registro="+login_usuario,
					dataType: 'xml',
					success: function(response_xml)
					{
						$xml_resultado = $(response_xml);
						$status = $xml_resultado.find("status");
						
						if($status.length)
						{
							$status.each(function()
							{
								if($(this).text()=="S")
								{
									
								}
								else if($(this).text()=="N")
								{
									
								}
							});
							
							$descripcion = $xml_resultado.find("descripcion");
							
							if($descripcion.length)
							{
								$descripcion.each(function()
								{
									navigator.notification.confirm($(this).text(), irSubMenuSen, acronimo_sistema, "Aceptar,");
								});
							}                  		
							else
							{
								navigator.notification.alert("No hay Descripción del Estatus.", null, acronimo_sistema, "Aceptar");
							}
						}
						else
						{
							navigator.notification.alert("No hay Respuesta del Servicio.", null, acronimo_sistema, "Aceptar");
						}
					}
				});
				
				//navigator.notification.alert("Señal de Tránsito Registrada Existosamente. (SERVICIO)", null, acronimo_sistema, "Aceptar");
			
			// Si no Hay Conexión con el Servidor -> Insertamos en BD Local
			} else {
				insertarDatosSen( coord_x, coord_y, id_tipo_sen, id_categ_sen, id_senal_tra, h_desc_image_sen, id_estad_sen, id_status_sen, fecha_instalacion, estandar, id_estado, id_municipio, id_parroquia, id_sector, id_tipo_via, referencia, login_usuario, observaciones_sen, coord_x, coord_y, "12" );
				
				//navigator.notification.alert("Señal de Tránsito Registrada Existosamente. (LOCALMENTE)", null, acronimo_sistema, "Aceptar");
			}
		} else {
			// DATA DE ENTRADA NO VALIDA
		}
	});
});


// pageinit
$('#registrarSenal').live('pageinit',function(event) {
	
	// OnChange
	// OnChange Tipo Señal
	$('#id_tipo_sen').change(function()
	{
		var id_tipo_sen = $('#id_tipo_sen').val();
		
		if( id_tipo_sen != "" )
		{
			if( id_tipo_sen == 1 || id_tipo_sen == 2 || id_tipo_sen == 3 || id_tipo_sen == 5 || id_tipo_sen == 6 || id_tipo_sen == 7 )
			{
				$("#div_sopor_sen").show();
			}
			else
			{
				$("#div_sopor_sen").hide();
			}
			
			if( id_tipo_sen == 9 )
			{
				$("#div_datos_sem").show();
			}
			else
			{
				$("#div_datos_sem").hide();
			}
			
			$('#id_categ_sen').find("option").remove();
			$('#id_categ_sen').append('<option value="">SELECCIONE</option>');
			$('#id_categ_sen').selectmenu("refresh",true);
			$('#id_senal_tra').find("option").remove();
			$('#id_senal_tra').append('<option value="">SELECCIONE</option>');
			$('#id_senal_tra').selectmenu("refresh",true);
			$('#div_image_sen').html( "" );
			$('#h_desc_image_sen').val( "" );
			
			consultarComboCategSen( id_tipo_sen );
		}
	});
	
	// OnChange Categoría Señal
	$('#id_categ_sen').change(function()
	{
		if( $('#id_categ_sen').val() != "" )
		{	
			$('#id_senal_tra').find("option").remove();
			$('#id_senal_tra').append('<option value="">SELECCIONE</option>');
			$('#id_senal_tra').selectmenu("refresh",true);
			$('#div_image_sen').html( "" );
			$('#h_desc_image_sen').val( "" );
			
			var id_tipo_sen = $('#id_tipo_sen').val();
			var id_categ_sen = $('#id_categ_sen').val();
			consultarComboSenalTra( id_tipo_sen, id_categ_sen );
		}
	});
	
	// OnChange Señal de Tránsito
	$('#id_senal_tra').change(function()
	{
		if( $('#id_senal_tra').val() != "" )
		{
			$('#div_image_sen').html( "" );
			$('#h_desc_image_sen').val( "" );
			
			var id_senal_tra = $('#id_senal_tra').val();
			consultarImageSen( id_senal_tra );
		}
	});
	
	// OnChange Parroquia
	$('#id_parroquia').change(function()
	{
		if( $('#id_parroquia').val() != "" )
		{
			$('#id_sector').find("option").remove();
			$('#id_sector').append('<option value="">SELECCIONE</option>');
			$('#id_sector').selectmenu("refresh",true);
			var id_parroquia = $('#id_parroquia').val();
			
			if ( localStorage['hay_conexion'] == "true" )
			{
				combo_dependiente(url_servicio_global, "combo_sector", "id_sector", "id_sector", "sector", "id_sector", id_parroquia);
			}
			else
			{
				if ( xml_parroquia_sector )
				{
					consultarComboSector( id_parroquia );
				}
			}
		}
	});
});


// pageshow
$( '#registrarSenal' ).live( 'pageshow',function(event){
	
});


// =================================================================================================================
// ============================================ Registrar una Señal ================================================
// =================================================================================================================

function registrar_senal() {
    
	id_opcion				= $('#id_opcion').val();
	
	coord_x 				= $('#coord_x').val();
	coord_y 				= $('#coord_y').val();
	id_tipo_sen 			= $('#id_tipo_sen').val();
	id_categ_sen 			= $('#id_categ_sen').val();
	id_senal_tra 			= $('#id_senal_tra').val();
	id_tipo_sop 			= $('#id_tipo_sop').val();
	h_desc_image_sen 		= $('#h_desc_image_sen').val();
	id_estad_sen 			= $('#id_estad_sen').val();
	id_status_sen 			= $('#id_status_sen').val();
	fecha_instalacion 		= $('#fecha_instalacion').val();
	estandar 				= $('#estandar').val();
	id_estado 				= $('#id_estado').val();
	id_municipio 			= $('#id_municipio').val();
	id_parroquia 			= $('#id_parroquia').val();
	id_sector 				= $('#id_sector').val();
	id_tipo_via 			= $('#id_tipo_via').val();
	referencia 				= $('#referencia').val();
	observaciones_sen		= $('#observaciones_sen').val();
	
	if ( id_tipo_sen == 9 ) {
		id_tipo_pos 			= $('#id_tipo_pos').val();
		nro_postes 				= $('#nro_postes').val();
		nro_caras 				= $('#nro_caras').val();
		nro_contadores 			= $('#nro_contadores').val();
		id_estad_con 			= $('#id_estad_con').val();
		id_model_con 			= $('#id_model_con').val();
		nro_fases 				= $('#nro_fases').val();
		ciclo 					= $('#ciclo').val();
	}
	
    if ( coord_x == "" ) {
        navigator.notification.alert("Debe indicar la Coordenada X o LONGITUD", null, acronimo_sistema, "Aceptar");										return false;
    } else if ( coord_y == "" ) {
        navigator.notification.alert("Debe indicar la Coordenada Y o LATITUD", null, acronimo_sistema, "Aceptar");										return false;
    
	} else if ( id_tipo_sen == "" ) {		
		navigator.notification.alert("Debe indicar el Tipo de Señal", null, acronimo_sistema, "Aceptar");												return false;
    } else if ( id_categ_sen == "" ) {		
		navigator.notification.alert("Debe indicar la Categoría de la Señal", null, acronimo_sistema, "Aceptar");										return false;
	} else if ( id_senal_tra == "" ) {
        navigator.notification.alert("Debe indicar la Señal de Tránsito", null, acronimo_sistema, "Aceptar");											return false;
    } else if ( ( id_tipo_sen == 1 || id_tipo_sen == 2 || id_tipo_sen == 3 || id_tipo_sen == 5 || id_tipo_sen == 6 || id_tipo_sen == 7 ) && id_tipo_sop == "" ) {
        navigator.notification.alert("Debe indicar el Tipo de Soporte de la Señal", null, acronimo_sistema, "Aceptar");									return false;
   	} else if ( id_estad_sen == "" ) {
        navigator.notification.alert("Debe indicar el Estado de la Señal", null, acronimo_sistema, "Aceptar");											return false;
    } else if ( id_status_sen == "" ) {
        navigator.notification.alert("Debe indicar el Estatus de la Señal", null, acronimo_sistema, "Aceptar");											return false;
	
	} else if ( fecha_instalacion == "" ) {
        navigator.notification.alert("Debe indicar la Fecha de Instalación de la Señal", null, acronimo_sistema, "Aceptar");							return false;
    } else if ( estandar == "" ) {
        navigator.notification.alert("Debe indicar si la Señal cumple con los Estándares Venezolanos de Señalización", null, acronimo_sistema, "Aceptar");	return false;
	
	} else if ( id_tipo_sen == 9 && id_tipo_pos == "" ) {
        navigator.notification.alert("Debe indicar el Tipo de Poste de un Semáforo", null, acronimo_sistema, "Aceptar");								return false;
	} else if ( id_tipo_sen == 9 && nro_postes == "" ) {
        navigator.notification.alert("Debe indicar el Número de Postes de Semáforo de la Intesección", null, acronimo_sistema, "Aceptar");				return false;
	} else if ( id_tipo_sen == 9 && IsNumeric(nro_postes) == "" ) {
        navigator.notification.alert("El Número de Postes de Semáforo debe ser un Número", null, acronimo_sistema, "Aceptar");							return false;
	} else if ( id_tipo_sen == 9 && nro_caras == "" ) {
        navigator.notification.alert("Debe indicar el Número de Caras de Semáforo de la Intesección", null, acronimo_sistema, "Aceptar");				return false;
	} else if ( id_tipo_sen == 9 && IsNumeric(nro_caras) == "" ) {
        navigator.notification.alert("El Número de Caras de Semáforo debe ser un Número", null, acronimo_sistema, "Aceptar");							return false;
	} else if ( id_tipo_sen == 9 && nro_contadores == "" ) {
        navigator.notification.alert("Debe indicar el Número de Contadores de Semáforo de la Intesección", null, acronimo_sistema, "Aceptar");			return false;
	} else if ( id_tipo_sen == 9 && IsNumeric(nro_contadores) == "" ) {
        navigator.notification.alert("El Número de Contadores de Semáforo debe ser un Número", null, acronimo_sistema, "Aceptar");						return false;
	} else if ( id_tipo_sen == 9 && id_estad_con == "" ) {
        navigator.notification.alert("Debe indicar el Estado de los Contadores de los Semáforos de la Intesección", null, acronimo_sistema, "Aceptar");	return false;
	} else if ( id_tipo_sen == 9 && nro_contadores == 0 && id_estad_con != 3 ) {
        navigator.notification.alert("Existe una Inconsistencia en el Estado de los Contadores. El Estado debe ser NO APLICA.", null, acronimo_sistema, "Aceptar");	return false;
	} else if ( id_tipo_sen == 9 && id_model_con == "" ) {
        navigator.notification.alert("Debe indicar el Modelo del Controlador de los Semáforos de la Intesección", null, acronimo_sistema, "Aceptar");	return false;
	} else if ( id_tipo_sen == 9 && nro_fases == "" ) {
        navigator.notification.alert("Debe indicar el Número de Fases de los Semáforos de la Intesección", null, acronimo_sistema, "Aceptar");			return false;
	} else if ( id_tipo_sen == 9 && IsNumeric(nro_fases) == "" ) {
        navigator.notification.alert("El Número de Fases de Semáforo debe ser un Número", null, acronimo_sistema, "Aceptar");							return false;
	} else if ( id_tipo_sen == 9 && ciclo == "" ) {
        navigator.notification.alert("Debe indicar el Ciclo de los Semáforos de la Intesección", null, acronimo_sistema, "Aceptar");					return false;
	} else if ( id_tipo_sen == 9 && IsNumeric(ciclo) == "" ) {
        navigator.notification.alert("El Ciclo de los Semáforo debe ser un Número en Segundos", null, acronimo_sistema, "Aceptar");						return false;
		
	} else if ( h_desc_image_sen == "" ) {
        navigator.notification.alert("Debe seleccionar la Imagen asociada a la Señal", null, acronimo_sistema, "Aceptar");								return false;
	
	} else if ( id_tipo_via == "" ) {
        navigator.notification.alert("Debe indicar el Tipo de Vía donde se ubica la Señal", null, acronimo_sistema, "Aceptar");							return false;
	
	} else if ( id_estado == "" ) {
        navigator.notification.alert("Debe indicar el Estado donde se ubica la Señal", null, acronimo_sistema, "Aceptar");								return false;
    } else if ( id_municipio == "" ) {
        navigator.notification.alert("Debe indicar el Municipio donde se ubica la Señal", null, acronimo_sistema, "Aceptar");							return false;
	
    } else {
		// navigator.notification.confirm("ATENCIÓN: ¿Esta seguro de que desea Registrar la Señal de Tránsito?", onConfirmRS, acronimo_sistema, "Aceptar,Cancelar");
        if ( window.confirm ("ATENCIÓN: ¿Esta seguro de que desea Registrar la Señal de Tránsito?") ) {
            return true;
        } else {
            navigator.notification.alert("El Registro de la Señal de Tránsito ha sido cancelado.!", null, acronimo_sistema, "Aceptar");
			return false;
        }
    }
}